﻿using System;
using Voluntariar.Sistema.DAO;
using Voluntariar.Sistema.Entidades;
using System.Collections.Generic;

namespace Voluntariar.WEB
{
    public partial class DetalhesUserVisualizacao : Voluntariar.WEB.Util.PaginaBase
    {


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                if (RecuperarParametroString("userID") != string.Empty)
                {
                    Util.Sessao.iParametro = RecuperarParametroInteiro("userID");
                    Response.Redirect("/DetalhesUserVisualizacao.aspx", false);
                }

                if (Util.Sessao.iParametro > 0)
                {
                    if (Util.Sessao.iParametro.Equals(Util.Sessao.ObjUsuario.ID))
                    {
                        Util.Sessao.iParametro = 0;
                        Response.Redirect("/DetalhesUser.aspx");
                    }

                    this.AmigosUsuarios.IDUsuario = Util.Sessao.iParametro;

                    GetUsuarioImagem();
                }

                List<Usuarios> listaAmigos = UsuarioDAO.PesquisarUsuariosAmizade(Util.Sessao.ObjUsuario.ID);
                if (listaAmigos.Count > 0)
                    foreach (Usuarios Usuarios in listaAmigos)
                    {
                        if (Usuarios.ID.Equals(Util.Sessao.iParametro))
                            pnlSolicitacao.Visible = false;
                        else
                            pnlSolicitacao.Visible = true;
                    }
                else
                    pnlSolicitacao.Visible = true;

            }
        }

        protected void lnbMensagem_Click(object sender, EventArgs e)
        {
            try
            {
                List<MensagensPrivada> ListaMensagensPrivada = MensagensPrivadaDAO.PesquisaMensagensConversa(Util.Sessao.iParametro, Util.Sessao.ObjUsuario.ID);

                if (ListaMensagensPrivada.Count > 0)
                {
                    pnl.Visible = false;
                    Util.Sessao.listaMensagensPrivada = ListaMensagensPrivada;
                    Response.Redirect("/DetalhesUserMensagens.aspx", false);
                }
                else
                {
                    pnl.Visible = true;
                }

            }
            catch (Exception ex)
            {
                TratarErro(ex);
            }
        }

        protected void lnbSolicitacao_OnClick(object sender, EventArgs e)
        {
            try
            {
                Amizades Amizades = new Amizades();
                Amizades.dataAmizade = DateTime.Now;
                Amizades.DataSistema = DateTime.Now;
                Amizades.SituacaoAmizades = Amizades.SituacaoAmizade.Pendente;
                Amizades.Usuarios = Util.Sessao.ObjUsuario;
                Amizades.UsuariosAmigo = UsuarioDAO.Pesquisar(Util.Sessao.iParametro);

                AmizadesDAO.Salvar(Amizades);
                Util.Mensagem.MensagemTemporizada("Solicitação enviada com sucesso !", "/DetalhesUser.aspx");


            }
            catch (Exception ex)
            {
                TratarErro(ex);
            }
        }

        protected void lnbEnviar_OnClick(object sender, EventArgs e)
        {
            try
            {
                MensagensPrivada MensagensPrivada = new MensagensPrivada();
                MensagensPrivada.mensagem = txtMensagem.Text;
                MensagensPrivada.usuarioOrigem = UsuarioDAO.Pesquisar(Util.Sessao.ObjUsuario.ID);
                MensagensPrivada.usuarioDestino = UsuarioDAO.Pesquisar(Util.Sessao.iParametro);
                MensagensPrivada.situacao = true;
                MensagensPrivada.dataEnvio = DateTime.Now;
                MensagensPrivada.DataSistema = DateTime.Now;

                MensagensPrivada = MensagensPrivadaDAO.Salvar(MensagensPrivada);
                txtMensagem.Text = string.Empty;
                List<MensagensPrivada> ListaMensagensPrivada = MensagensPrivadaDAO.PesquisaMensagensConversa(MensagensPrivada.ID, Util.Sessao.ObjUsuario.ID);
                Util.Sessao.listaMensagensPrivada = ListaMensagensPrivada;
                Util.Mensagem.MensagemTemporizada("Mensagem enviada com sucesso!", "/DetalhesUserMensagens.aspx");
            }
            catch (Exception ex)
            {
                TratarErro(ex);
            }
        }

        public void GetUsuarioImagem()
        {

            try
            {
                Usuarios user = new Usuarios();
                user = UsuarioDAO.Pesquisar(Util.Sessao.iParametro);

                if (user.imagem.Equals(string.Empty) || user.imagem.Equals("NoImage"))
                {
                    UserImage.ImageUrl = "~/ImagemUsuarios/missing.jpg";
                }
                else
                {
                    UserImage.ImageUrl = "~/ImagemUsuarios/" + user.imagem;
                }


            }
            catch (Exception ex)
            {
                TratarErro(ex);
            }

        }
    }
}
